package com.cskaoyan.javase.oop1._14access._1clazz._1one;

/**
 * @description: 访问修饰符修饰class/接口/注解...
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import com.cskaoyan.javase.oop1._14access._1clazz._2another.Student;
//'com.cskaoyan.javase.oop1._14access._1clazz._2another.Teacher' is not public in 'com.cskaoyan.javase.oop1._14access._1clazz._2another'. Cannot be accessed from outside package
//import com.cskaoyan.javase.oop1._14access._1clazz._2another.Teacher;

/**
 * 访问修饰符修饰class时,可用的只有两种:
 *      1.public 表示该class在不同包也能任意访问
 *      2.默认的访问权限,缺省的访问权限,什么关键字都不写,表示该class只能在同包下访问
 *
 *      注意:
 *          1.缺省访问权限修饰的class,不同包是不能访问的(这个不能访问不是因为没有导包,而是没有访问权限)
 *          2.为什么class的访问权限只有两种?
 *              单独定义的class是一个独立的概念,它没有对谁私有,受谁保护的概念,所以class的访问权限修饰符只有两种
 *          3.如果想要class有private和protected访问权限,怎么办?
 *              为了让class有私有和受保护的概念,可以把class定义在另一个类的内部(内部类)
 *              内部类可以看成是其他类的一个成员,就有了私有和受保护的概念
 *
 *  最后需要提一点: 局部变量没有访问权限的概念,只有类的成员才有访问权限的概念
 *
 */
public class Demo {
    public static void main(String[] args) {
        Student s = new Student();
        //'com.cskaoyan.javase.oop1._14access._1clazz._2another.Teacher' is not public in 'com.cskaoyan.javase.oop1._14access._1clazz._2another'. Cannot be accessed from outside package
        //new com.cskaoyan.javase.oop1._14access._1clazz._2another.Teacher();

    }
}